
package com.thinkgem.jeesite.common.component.redis.element;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisMonitor;

/** 
 * 放置rds的远程控制类元素操作
 *
 */
public class RdsRemote{

	public RdsRemote(Jedis jedis) {
	    super();
	    this.jedis = jedis;
    }

	public Jedis getJedis() {
    	return jedis;
    }

	public void setJedis(Jedis jedis) {
    	this.jedis = jedis;
    }

	/**
	 * 设置客户端的安全密码
	 * (当服务端配置安全策略时使用)
	 * @param password
	 * @return
	 * 2014-10-27
	 */
	public String auth(String password){
		return getJedis().auth(password);
	}

	/**
	 * 测试当前连接
	 * @return
	 * 2014-10-27
	 */
	public String ping() {
		return getJedis().ping();
	}

	/**
	 * 提供服务器信息和统计信息
	 * @return
	 * 2014-10-27
	 */
	public String info() {
		return getJedis().info();
	}

	/**
	 * 配置监视器实时输出收到的请求
	 * @param jedisMonitor
	 * 2014-10-27
	 */
	public void monitor(JedisMonitor jedisMonitor) {
		getJedis().monitor(jedisMonitor);
	}

	/**
	 * 切换备库模式
	 * @param host
	 * @param port
	 * @return
	 * 2014-10-27
	 */
	public String slaveof(String host,int port) {
		return getJedis().slaveof(host, port);
	}

	/**
	 * 
	 * @return
	 * 2014-10-27
	 */
	public String slaveofNoOne() {
		return getJedis().slaveofNoOne();
	}

	/**
	 * 关闭当前连接
	 * @return
	 * 2014-10-27
	 */
	public String quit() {
		return getJedis().quit();
	}

	/**
	 * 关闭当前客户端
	 * (终极解决方案)
	 * 2014-10-27
	 */
	public void close(){
		getJedis().getClient().disconnect();
	}

	private Jedis jedis;//当前客户端
}
